package org.diy.redisson.entity;

/**
 * 错误码定义：
 *
 * 1.前端导致的错误码由A+4位数字组成
 * 2.自身业务系统导致的错误码由B+4位数字组成
 * 3.第三方系统导致的错误码由C+4位数字组成
 *
 * @Author LHL
 * @Date 2020-10-27
 * @Description
 * @Version 1.0
 */
public enum ErrorCode {

    /**
     * 前端未知错误
     **/
    A0001("前端未知错误"),
    /**
     * 系统未知错误
     **/
    B0001("系统未知错误"),
    /**
     * 第三方系统未知错误
     **/
    C0001("第三方系统未知错误"),

    /**
     * 非法的请求参数
     **/
    A0002("非法的请求参数:%s"),
    /**
     * 非法操作
     **/
    A0003("非法操作:%s"),
    /**
     * 权限受限
     **/
    A0004("权限受限:%s"),
    /**
     * 验证码错误
     **/
    A0005("验证码错误"),
    /**
     * 账号与密码不匹配
     **/
    A0006("账号与密码不匹配"),
    /**
     * Basic认证失败
     **/
    A0007("Basic认证失败"),
    /**
     * oauth token invalid
     **/
    A0008("oauth token invalid"),
    /**
     * 唯一键冲突
     **/
    A0009("唯一键冲突，重复插入"),
    /**
     * 字段非法
     **/
    A0010("插入数据库失败，字段非法"),
    /**
     * 提交的数据包超过上限
     **/
    A0011("请求提交的数据包超过上限:%d"),
    /**
     * 积分余额不足
     */
    A0012("积分余额不足"),
    /**
     * 账户积分异常
     */
    A0013("账户积分异常:%s"),
    /**
     * 访问频率过快
     */
    A0014("访问频率过快:%s"),


    /**
     * 数据库访问异常
     **/
    B0002("数据库访问异常"),
    /**
     * 网络访问异常
     **/
    B0003("网络访问异常"),
    /**
     * NPE
     **/
    B0004("NPE"),
    /**
     * 密码编码错误
     */
    B0005("用户名或者密码错误"),
    /**
     * dubbo微服务调用异常
     **/
    B0006("微服务调用异常"),
    /**
     * 尚未添加待确认积分,请稍后再试
     */
    B0007("尚未添加待确认积分，请稍后再试"),
    /**
     * 账户与积分记录不匹配
     */
    B0008("账户与积分记录不匹配"),
    /**
     * 数据库CAS更新失败
     */
    B0009("数据库CAS更新失败:%s"),
    /**
     * 管理员积分操作业务异常
     */
    B0010("管理员积分操作业务异常:%s"),
    /**
     * 授权信息异常
     */
    B0011("授权信息异常:%s"),
    /**
     * 账号积分余额异常
     */
    B0012("账号积分余额异常:%s"),
    /**
     * 操作无效的对象
     */
    B0013("操作无效的对象:%s"),


    /**
     * 医生库接口返回异常
     **/
    C0002("医生库接口返回异常"),
    /**
     * 医生库接口返回超时
     **/
    C0003("医生库接口返回超时"),
    /**
     * 通行证接口返回异常
     **/
    C0004("通行证接口返回异常"),
    /**
     * 通行证接口返回超时
     **/
    C0005("通行证接口返回超时"),
    /**
     * 通行证校验不通过
     **/
    C0006("通行证校验不通过"),
    /**
     * 微信接口异常
     */
    C0007("微信接口异常:%s"),
    ;


    private final String msg;

    ErrorCode(String msg) {
        this.msg = msg;
    }

    public String getMsg() {
        return msg;
    }

}
